// #include "zdt_motor.hpp"

// #ifndef  ZDT_MOTOR_USE_CONFIG_H

// #define ZDT_MOTOR_NAME ("zdt_motor")
// #define ZDT_MOTOR_RS485_PATH ("/dev/ttyS6")
// #define ZDT_MOTOR_RS485_BAUDRATE (115200)
// #define ZDT_MOTOR_MODBUS_SLAVE_ADDR (0x01)
// #define ZDT_MOTOR_RS485_FRAME_TIMEOUT_MS (100)

// #endif // ZDT_MOTOR_USE_CONFIG_H

// uart_v2 *Pmodbus_zdt_uart = NULL;
// rs485_v3 *Pmodbus_zdt_rs485 = NULL;
// agile_modbus_rtu_master_simple *Pmodbus_zdt_rtu_master = NULL;
// zdt_motor *Pmodbus_zdt_motor_1 = NULL;
// zdt_motor *Pmodbus_zdt_motor_2 = NULL;

// yj_return init_flag = YJ_ERROR;

// int modbus_zdt_rs485_modbus_read(uint8_t *data)
// {
//     if (!Pmodbus_zdt_rs485 || !Pmodbus_zdt_uart || !Pmodbus_zdt_rtu_master || !data)
//         return -1;
//     return Pmodbus_zdt_rs485->rs485_recv(data, MAX_ADU_LENGTH);
// }

// int modbus_zdt_rs485_modbus_write(uint8_t *data, uint32_t len)
// {
//     if (!Pmodbus_zdt_rs485 || !Pmodbus_zdt_uart || !Pmodbus_zdt_rtu_master || !data)
//         return -1;
//     return Pmodbus_zdt_rs485->rs485_send(data, len);
// }


// int main()
// {
//     std::string  name = ZDT_MOTOR_NAME;
//     Pmodbus_zdt_uart = new uart_v2(ZDT_MOTOR_RS485_PATH,ZDT_MOTOR_RS485_BAUDRATE, 8, 1);
//     Pmodbus_zdt_rs485 = new rs485_v3(Pmodbus_zdt_uart,ZDT_MOTOR_RS485_FRAME_TIMEOUT_MS);
//     Pmodbus_zdt_rtu_master = new agile_modbus_rtu_master_simple(name,
//                                                                modbus_zdt_rs485_modbus_write,
//                                                                modbus_zdt_rs485_modbus_read);
//     Pmodbus_zdt_motor_1 = new zdt_motor(1,Pmodbus_zdt_rs485,Pmodbus_zdt_rtu_master);
//     Pmodbus_zdt_motor_2 = new zdt_motor(2,Pmodbus_zdt_rs485,Pmodbus_zdt_rtu_master);

//     int sp = 0;
//     while(1)
//     {
//         // zdt_motor::motor_status_t status;
//         // Pmodbus_zdt_motor->read_status(status);
//         Pmodbus_zdt_motor_1->set_speed(-100*sp,0,true);
//         Pmodbus_zdt_motor_2->set_speed(100*sp,0,true);

//         Pmodbus_zdt_motor_1->start_sync(true);
//         int i = 0;
//         while(++i < 10)
//         {
//             int speed1,speed2;
//             Pmodbus_zdt_motor_1->read_speed(speed1);
//             Pmodbus_zdt_motor_2->read_speed(speed2);
//             LOG(INFO) << "motor 1 speed: " << speed1 << " motor 2 speed: " << speed2;
            
//             std::this_thread::sleep_for(std::chrono::milliseconds(500));
//         }
//         sp++;
//         std::this_thread::sleep_for(std::chrono::milliseconds(1000));
//     }

// }